//
//  PDDModel.swift
//  LeGou
//
//  Created by 刘亿前 on 2022/10/14.
//

import Foundation

struct PDDListModel: HandyJSON {
    // 自购赚佣金比列
    var userCommission = 0.0
    // 分享赚佣金比列
    var userShareCommission = 0.0
    
    var goodsDetail = PDDModel()
    //
    var goodsList = [PDDModel]()
    //
    var searchGoodsList = [PDDModel]()
}

struct PDDModel: HandyJSON {
    // 商品活动标记数组，例：[4,7]，4-秒杀 7-百亿补贴等
    var activityTags = [String]()
    // 商品品牌词信息，如“苹果”、“阿迪达斯”、“李宁”等
    var brandName = ""
    // 商品类目ids
    var catIds = [Int]()
    // 优惠券面额,单位为分
    var couponDiscount = 0.0
    // 优惠券失效时间,UNIX时间戳
    var couponEndTime = 0
    // 优惠券门槛价格,单位为分
    var couponMinOrderAmount = 0
    // 优惠券剩余数量
    var couponRemainQuantity = 0
    // 优惠券生效时间,UNIX时间戳
    var couponStartTime = 0
    // 优惠券总数量
    var couponTotalQuantity = 0
    // 描述分
    var descTxt = ""
    // 额外优惠券，单位为分
    var extraCouponAmount = 0.0
    // 商品描述
    var goodsDesc = ""
    // 商品主图
    var goodsImageUrl = ""
    // 商品名称
    var goodsName = ""
    // 商品goodsSign，支持通过goodsSign查询商品。goodsSign是加密后的goodsId, goodsId已下线，请使用goodsSign来替代。使用说明：https://jinbao.pinduoduo.com/qa-system?questionId=252
    var goodsSign = ""
    // 商品缩略图
    var goodsThumbnailUrl = ""
    // 商品是否带券,true-带券,false-不带券
    var hasCoupon = false
    // 是否有店铺券
    var hasMallCoupon = false
    // 商品是否有素材(图文、视频)
    var hasMaterial = false
    // 物流分
    var lgstTxt = ""
    // 店铺券折扣
    var mallCouponDiscountPct = 0
    // 店铺券结束使用时间
    var mallCouponEndTime = 0
    // 店铺券id
    var mallCouponId = 0
    // 最大使用金额
    var mallCouponMaxDiscountAmount = 0.0
    // 最小使用金额
    var mallCouponMinOrderAmount = 0.0
    // 店铺券余量
    var mallCouponRemainQuantity = 0
    // 店铺券开始使用时间
    var mallCouponStartTime = 0
    // 店铺券总量
    var mallCouponTotalQuantity = 0
    // 该商品所在店铺是否参与全店推广，0：否，1：是
    var mallCps = 0
    // 店铺id
    var mallId = 0
    // 店铺名字
    var mallName = ""
    // 店铺类型，1-个人，2-企业，3-旗舰店，4-专卖店，5-专营店，6-普通店
    var merchantType = 0
    // 最小拼团价（单位为分）
    var minGroupPrice = 0.0
    // 最小单买价格（单位为分）
    var minNormalPrice = 0.0
    // 快手专享
    var onlySceneAuth = false
    // 商品标签ID，使用pdd.goods.opts.get接口获取
    var optId = 0
    // 商品标签名
    var optName = ""
    // 推广计划类型: 1-全店推广 2-单品推广 3-定向推广 4-招商推广 5-分销推广
    var planType = 0
    // 比价行为预判定佣金，需要用户备案
    var predictPromotionRate = 0.0
    // 佣金比例，千分比
    var promotionRate = 0.0
    // 已售卖件数
    var salesTip = ""
    // 搜索id，建议生成推广链接时候填写，提高收益
    var searchId = ""
    // 服务分
    var servTxt = ""
    // 招商分成服务费比例，千分比
    var shareRate = 0
    // 优势渠道专属商品补贴金额，单位为分。针对优质渠道的补贴活动，指定优势渠道可通过推广该商品获取相应补贴。补贴活动入口：[进宝网站-官方活动]
    var subsidyAmount = 0
    // 招商团长id
    var zsDuoId = 0
    // 商品轮播图
    var goodsGalleryUrls = [String]()
    // 自购赚佣金比列
    var userCommission = 0.0
    // 分享赚佣金比列
    var userShareCommission = 0.0
    
    // 原价格
    var oldPrice: Double {
        return (minGroupPrice > 0 ? minGroupPrice : minNormalPrice) / 100.0
    }
    
    // 优惠券价格
    var couponPrice: Double {
        return couponDiscount / 100.0
    }
    
    // 优惠后价格
    var currentPrice: Double {
        return oldPrice - couponPrice
    }
    
    // 返利
    func refundMoney(_ rate: Double) -> String {
        return (currentPrice * rate).zm.toString(keep: 2)
    }
}

struct PDDLinkModel: HandyJSON {
    var bind = false
    var generateResponse = PDDLinkResponseModel()
    var shortUrl : String {
        var url = ""
        if generateResponse.goodsPromotionUrlList.count > 0 {
            for val in generateResponse.goodsPromotionUrlList {
                if val.shortUrl != "" {
                    url = val.shortUrl
                } else if val.mobileShortUrl != "" {
                    url = val.mobileShortUrl
                } else if val.mobileUrl != "" {
                    url = val.mobileUrl
                } else if val.url != "" {
                    url = val.url
                }
                if url != "" {
                    break
                }
            }
        }
        return url
    }
}

struct PDDLinkResponseModel: HandyJSON {
    var goodsPromotionUrlList = [PDDGoodsPromotionUrlList]()
}

struct PDDGoodsPromotionUrlList: HandyJSON {
    var shortUrl = ""
    var mobileUrl = ""
    var url = ""
    var mobileShortUrl = ""
}

